Skip to content

build(testing): consume JustDummies as a published package - #410

Merged
Reefact merged 1 commit into
mainfrom
claude/french-responses-fbdmo6
Aug 7, 2026
Merged

build(testing): consume JustDummies as a published package#410
Reefact merged 1 commit into
mainfrom
claude/french-responses-fbdmo6

Conversation

@Reefact

@Reefact Reefact commented Aug 7, 2026

Copy link
Copy Markdown
Owner

Summary

Steps 1–4 and 7 of the cutover ADR-0069 prescribes, unblocked by JustDummies 1.0.0-preview.1 reaching nuget.org today. The prerequisite issue #404 records as the one thing that gates this work is now met.

Steps 5 and 6 — deleting the seven projects, the dum train, the workflows and the Stryker configs — are deliberately not in this PR. ADR-0069 orders them last, "once nothing references them", and this PR is what makes that true.

Type of change

  • Bug fix
  • New feature
  • Breaking change
  • Refactoring
  • Analyzer / diagnostic change
  • Tests
  • Documentation
  • Build / CI / tooling

Changes

  • Directory.Packages.propsJustDummies 1.0.0-preview.1.
  • The four ProjectReferences on JustDummies become PackageReferences.
  • The four analyzer ProjectReferences (OutputItemType="Analyzer" + ReferenceOutputAssembly="false") are deleted, not converted. The library package carries the 28 analyzers under analyzers/dotnet/cs, so a plain PackageReference delivers them. Verified by unzipping the published .nupkg, not taken from the changelog.
  • FirstClassErrors.Testing loses IncludeJustDummiesInPackage, its TargetsForTfmSpecificBuildOutput hook, and PrivateAssets="all".

What the produced package looks like now

Packed locally and inspected:

--- lib/ ---
  lib/netstandard2.0/FirstClassErrors.Testing.dll
  lib/netstandard2.0/FirstClassErrors.Testing.xml
--- dependencies ---
  <dependency id="FirstClassErrors" version="0.1.0-dev" exclude="Build,Analyzers" />
  <dependency id="JustDummies"      version="1.0.0-preview.1" exclude="Build,Analyzers" />

JustDummies.dll is gone from lib/, and the dependency is declared at the same regime as its sibling. That is the consumer-visible half of ADR-0069: a consumer who also references JustDummies directly can no longer end up with two copies at different versions and no diagnostic.

The dependency is on a prerelease, deliberately and temporarily, so the split can happen before JustDummies reaches 1.0 stable. The consequence is written into the .csproj next to the reference: FirstClassErrors.Testing cannot ship a stable version until JustDummies does.

Testing

  • dotnet build FirstClassErrors.sln — 0 warnings, 0 errors
  • dotnet test FirstClassErrors.sln13 suites, 2206 tests, 0 failures
  • Analyzer tests pass (FirstClassErrors.Analyzers.UnitTests — 132)
  • dotnet pack FirstClassErrors.Testing and inspected the artifact (above)

Documentation

  • Public API / analyzer documentation updated — no public surface changes; FirstClassErrors.Testing exposes no JustDummies type, which is why the dependency is an implementation detail that nonetheless must be declared.
  • No documentation change required in this PR — ADR-0069 already documents the cutover, and the user-facing page it says to update (ArbitraryTestValues.{en,fr}.md) belongs with the deletion step.

Architecture decisions

  • No architectural decision in this pull request — it executes ADR-0069, which is already Accepted and prescribes these exact steps. No ADR is created, superseded or contradicted here.

⚠️ One flag for the deletion step that follows, not for this PR: ADR-0069 states that ADR-0006, ADR-0011, ADR-0026 and ADR-0061 are not deleted, because they record decisions this repository genuinely made and FirstClassErrors.Testing's shape is unreadable without them. Any sweep of the JustDummies ADRs has to spare those four.

Related issues

Refs #404 — the prerequisite it names (a restorable package on nuget.org) is met: JustDummies 1.0.0-preview.1.


Generated by Claude Code

Steps 1-4 and 7 of the cutover ADR-0069 prescribes, now that
JustDummies 1.0.0-preview.1 is on nuget.org.

The four ProjectReferences become PackageReferences, and the four analyzer
references go with them: the package carries the 28 analyzers under
analyzers/dotnet/cs, verified on the published artifact rather than assumed.

FirstClassErrors.Testing loses IncludeJustDummiesInPackage and its
PrivateAssets=all. Its package stops smuggling JustDummies.dll into lib/ and
declares the dependency instead — which is the point of the change, per ADR-0069:
a consumer who also references JustDummies directly can no longer end up with two
copies at different versions and no diagnostic. The dependency is on a PRERELEASE,
deliberately and temporarily, so the split can happen before JustDummies reaches
1.0 stable; FirstClassErrors.Testing cannot ship a stable version until it does.

The seven JustDummies projects, the dum train and the workflows stay for now:
ADR-0069 orders the deletion last, after the consumers no longer reference them.

Refs: #404
Repository owner deleted a comment from chatgpt-codex-connector Bot Aug 7, 2026
@Reefact
Reefact merged commit ee5e3bc into main Aug 7, 2026
29 checks passed
@Reefact
Reefact deleted the claude/french-responses-fbdmo6 branch August 7, 2026 16:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants